1. Field of the Invention
This invention relates generally to controlling direct access storage devices and, more particularly, to recording and retrieving data from one of multiple devices in a computer system.
2. Description of the Related Art
Many large-scale computer systems, such as systems having a "System/360" or "System/390" central processor unit produced by IBM Corporation ("International Business Machines"), are capable of storing relatively large amounts of data on direct access storage devices (DASD) comprising disk drive devices. The DASDs often are arranged according to a disk mirroring scheme in which identical copies of data are kept on a pair of disk drive devices that are designated as mirror pairs of one another. Generally, one disk drive device is designated as a primary drive and the other disk unit is designated as the paired drive. If one disk drive in a mirrored pair fails, then the system can obtain data from the other disk drive of the pair and continue functioning until the failed disk drive device can be repaired.
Some systems utilize disk arrays in which multiple pairs of disk drive devices are placed in logical groups that are accessed by the central processor unit through a device called a control unit, which in turn is connected to the disk drive devices through a device adapter. The control unit receives read and write requests from the system central processor unit and in response generates a stream of commands to the device adapter that will either retrieve data from the disk drive devices or record data into appropriate disk drive devices. Each device adapter of a system is responsible for a certain number of disk drive devices and carries out the commands from the control unit. This distributed arrangement of processing permits the control unit to carry on with further input/output processing after providing instruction to a device adapter.
For example, after the control unit receives a central processor request for a read or a write operation, the control unit selects the appropriate device adapter, which polls the disk drive devices to which it is connected so as to obtain the drive status. If the device is available, the control unit then provides the device adapter with a device address and commands the device adapter to select the disk drive device, which comprises establishing communication between the device and the device adapter. The control unit then determines the position of a disk cylinder head relative to a storage location on a disk of the disk drive device corresponding to the data record to be read or written. The control unit passes the position information on to the device adapter, which passes the position information to a disk drive device I/O controller. The disk drive device I/O controller is a direct interface to a servo position control system that controls movement of a read/write head of the disk drive device.
The control unit then de-selects the device adapter and continues with other operations. When the disk I/O controller determines that the disk is properly positioned, it generates an interrupt signal and provides it to the device adapter. When the control unit next polls the device adapter for the device status, it recognizes the ready condition.
In the case of a read request from the central processor unit, the control unit responds to the ready condition by causing a read instruction to be passed to the device adapter, which passes a disk read instruction to the disk I/O controller for actual execution of a read operation. In the case of a write request, the control unit provides the device adapter with the data to be written. The device adapter passes on the write instruction and data to the disk I/O controller, which again causes the actual execution of the write operation. To implement the disk mirroring, the control unit actually provides a second copy of the data and the write instruction to the device adapter so that the write sequence is repeated for the paired disk drive device. The device adapter confirms the successful operation to the control unit. After the data is either read from or recorded into the disk drive device, the control unit de-selects the device adapter, permitting it to receive further requests for data reading and writing operations.
The polling table described above is ordered according to the hardware configuration of the disk drive devices connected to the central processing unit. Thus, the polling table reflects the system configuration and is set at the time of disk installation and system configuration. As noted above, if one disk drive in a mirrored pair fails, then the system can obtain data from the other disk drive of the pair. The polling table is the means by which the system generally, and the device adapter in particular, determines which disk drive devices are operational and which have failed. If polling indicates that a disk drive device has failed, then the device adapter masks out the device address table entry and polling entry for that disk drive device. In this way, the device adapter ensures that the control unit will not select that failed device. Thus, the polling table is not changed, rather, data from the table is masked out so the data can be ignored. After a failed unit is repaired or replaced, the next instance of polling will reflect the new condition.
As noted above, the mapping of logical data units to physical devices specified by the device address table and polling table are fixed at the time of system configuration. That is, the polling table indexing and the disk drive devices corresponding to each entry in the polling table are recorded in microcode of the device adapter. Thus, if both drives of a disk drive pair fail, then data operations cannot be carried out for any records stored on those disk drive devices and the data likely will be lost. Rather, it will be necessary to halt processing operations and carry out disk drive device replacement. It will not be possible to add additional disk drive devices to the system dynamically during processing operations or to substitute idle or unused disk drive devices of the system in place of any failed units. Such modifications would require changing the mapping of the polling table during operations, in real time. Generally, the polling table mapping can only be changed through modification of the device adapter microcode. This is a process that generally can be accomplished only in conjunction with a reconfiguration of the entire system, which is a relatively time-consuming and complicated task.
From the discussion above, it should be apparent that there is a need for a system that permits dynamic reconfiguration of the polling table in a computing system having a direct access storage device array, thereby permitting modifications to the polling table indexing to occur in response to device failure without need for reconfiguration of the system. The present invention satisfies this need.